package com.tiancheng.trade.order.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.tiancheng.trade.order.model.base.BaseEntity;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 开票订单实体
 *
 * @author kellen
 * @date 2024/6/25
 */
@Getter
@Setter
@TableName(value = "invoice_orders")
public class InvoiceOrder extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    // 用户id
    private String uid;
    // 订单编号
    private String orderId;
    // 订单名称
    private String orderName;
    // 订单金额
    private Integer orderAmount;
    // 订单支付金额
    private Integer payAmount;
    // 订单退款金额
    private Integer refundAmount;
    // 订单可开票金额
    private Integer invoiceAmount;
    // 发票类型
    private String invoiceTypeCode;
    // 订单可开票张数
    private Integer invoiceNum;
    // 订单状态
    private String orderStatus;
    // 开票状态
    private String invoiceStatus;
    // 订单业务场景
    private String orderSource;
    // 商户编号
    private String sellerTaxpayerSn;
    // 商户纳税人识别号
    private String sellerTaxpayerNum;
    // 商户名称
    private String sellerTaxpayerName;
    // 订单可开票明细
    private String items;
    // 订单可开票明细数量
    private Integer itemsNum;
    // 订单创建时间
    private LocalDateTime orderCreateTime;
    // 订单支付时间
    private LocalDateTime orderPayTime;
    // 发票系统的开具唯一标识
    private String invoiceSn;
    // 开具冠名发票，板式编码
    private String template;
    // 开具冠名发票，板式内容(json)
    private String templateInfo;
}
